package com.arpa.wms.domain.dto;

import com.arpa.wms.domain.entity.BasicEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.math.BigDecimal;
import java.util.List;

/**
 * <p>
 * 出库单DTO
 * </p>
 *
 * @author LEO
 * @since 2020-08-07
 */
@Data
@ApiModel(value="OutboundDTO对象", description="出库单")
public class OutboundDTO extends BasicEntity {


    @ApiModelProperty(value = "出库单号")
    private String code;

    @ApiModelProperty(value = "仓库")
    private String warehouseCode;

    @ApiModelProperty(value = "入驻商")
    private String shipmentCode;
    @ApiModelProperty(value = "登录仓库授权该账号的货主集合")
    private List<String> shipmentCodes;

    @ApiModelProperty(value = "授权该账号的仓库集合")
    private List<String> warehouseCodes;

    @ApiModelProperty(value = "入驻商")
    private String shipmentName;

    @ApiModelProperty(value = "来源单号")
    private String sourceCode;

    @ApiModelProperty(value = "所属机构Code")
    private String groupCode;

    @ApiModelProperty(value = "单据类型")
    private String type;

    @ApiModelProperty(value = "状态")
    private String status;

    @ApiModelProperty(value = "备注")
    private String remarks;

    @ApiModelProperty(value = "发货单号")
    private String deliveryCode;

    @ApiModelProperty(value = "第几页")
    private Integer pageNum=1;

    @ApiModelProperty(value = "每页条数")
    private Integer pageSize=10;

    @ApiModelProperty(value = "排序字段")
    private String sortField;

    @ApiModelProperty(value = "排序方式")
    private String sortType;

    @ApiModelProperty(value = "下发状态:0未下发，1已下发；")
    private Integer issue;

    @ApiModelProperty(value = "波次单号")
    private String wavePickingCode;

    @ApiModelProperty(value = "物流公司编码")
    private String logisticsCode;

    @ApiModelProperty(value = "物流公司名称")
    private String logisticsName;

    @ApiModelProperty(value = "订单标识 1-单品单件 2-单品多件 3-多品 4-爆品 5-按单")
    private String orderTag;

    @ApiModelProperty(value = "是否预打包拣货单:0否1是")
    private Integer prepackaged;

    @ApiModelProperty(value = "订单排序")
    private Integer orderNum;

    @ApiModelProperty(value = "预打包单号")
    private String prepackagedCode;

    @ApiModelProperty(value = "复核数量")
    private BigDecimal recheckQuantity;

    @ApiModelProperty(value = "任务状态，1-未执行，2-执行中，3-执行完成")
    private String taskStatus;

    @ApiModelProperty(value = "复核任务状态，1-未执行，2-执行中，3-执行完成")
    private String recheckTaskStatus;
}
